package com.fzg.service;

import com.fzg.common.enums.ResponseWrapper;
import com.fzg.common.model.message.param.*;
import com.fzg.entity.Message;
import com.baomidou.mybatisplus.extension.service.IService;


/**
 * <p>
 * 留言表 服务类
 * </p>
 *
 * @author fzg
 * @since 2021-12-13
 */
public interface MessageService extends IService<Message> {

    /**
     * 查询当前用户的所有消息
     */
    ResponseWrapper queryAllMessage(QueryAllMessage param);

    /**
     * 得到每个用户或每个公司的消息列表
     */
    ResponseWrapper getMessageList(QueryAllMessage param);

    /**
     * 打开抽屉将未读消息变为已读
     */
    ResponseWrapper changeUnRead(ChangeUnRead param);

    /**
     * 根据messageAid和当前登陆人或公司账号查询对应的消息列表
     */
    ResponseWrapper getMessageByMessageAid(MessageByUserAidAndCompanyAid param);

    /**
     * 发送消息
     */
    ResponseWrapper sendMessage(SendMessageParam param);

    /**
     * 插入一条消息（给公司打招呼）
     */
    ResponseWrapper insertMessage(InsertMessage param);

    /**
     * 发送简历（相当于也是发送一条消息）
     */
    ResponseWrapper sendResume(SendResume param);

    /**
     * 撤回消息
     */
    ResponseWrapper withdrawApi(WithdrawApi param);

    /**
     * 企业去跟用户沟通（给用户打招呼）
     */
    ResponseWrapper companyChatUser(CompanyChatUser param);

    /**
     * 判断企业是否与用户沟通过
     */
    ResponseWrapper checkIsChart(CompanyChatUser param);

}
